<?php

class Cache_Profile implements ISingleton 
{
	/**
	 * Массив со строками запросов к серверу.
	 * 
	 * @var array
	 */
	protected $_queries = array();
	
	/**
	 * Время, потраченное на все запросы, которые хранятся в профайлере.
	 * 
	 * @var float
	 */
	protected $_wasted = 0;
	
	
    /**
     * @var Cache_Profile
     */
    protected static $instance = null;
    
    /**
     * @return Cache_Profile
     */
    public static function getInstance()
    {
        if (self::$instance === null) {
            self::$instance = new self();
        }
        
        return self::$instance;
    }
    
    /**
     * Добавляет к массиву запросов любую строку.
     */
    public function addQuery($query, $time)
    {
    	$time = round($time, 4);
    	$this->_queries[] = array('query' => $query, 'time' => $time);
    	$this->_wasted += $time;
    }
    
    public function getQueries()
    {
    	return $this->_queries;
    }
    
    public function getWasted()
    {
    	return round($this->_wasted, 4);
    }
}
